<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">

    <xsd:element name="questionnaire" type="questionnaireType"/>

    <xsd:complexType name="questionnaireType">
	<xsd:sequence>
		<xsd:element name="title" type="xsd:string"/>
		<xsd:element name="description" type="xsd:string"/>
		<xsd:element name="startdate" type="xsd:string"/>
		<xsd:element name="repeattime" type="xsd:integer"/>
		<xsd:element name="repeatnumber" type="xsd:integer"/>
		<xsd:element name="autoopen" type="xsd:integer"/>
		<xsd:element name="groupids" type="xsd:string"/>
		<xsd:element name="enddate" type="xsd:string"/>
		<xsd:element name="logactivity" type="xsd:string"/>
		<xsd:element name="logpackage" type="xsd:string"/>
		<xsd:element name="questions" type="questionsType"/>
	</xsd:sequence>
    </xsd:complexType>
	
	<xsd:complexType name="questionsType">
	<xsd:sequence minOccurs="0" maxOccurs="unbounded">
	<xsd:choice>
		<xsd:element name="radio" type="radioType"/>
		<xsd:element name="check" type="checkType"/>
		<xsd:element name="likert" type="likertType"/>
		<xsd:element name="dropdown" type="dropdownType"/>
		<xsd:element name="text" type="textType"/>
		<xsd:element name="edittext" type="edittextType"/>
		<xsd:element name="scaleedit" type="scaleeditType"/>
	</xsd:choice>
	</xsd:sequence>
    </xsd:complexType>

	<xsd:complexType name="radioType">
	<xsd:sequence>
		<xsd:element name="question" type="xsd:string"/>
		<xsd:element name="choice" type="xsd:string" maxOccurs="7"/>
	</xsd:sequence>
    </xsd:complexType>
	
	<xsd:complexType name="checkType">
	<xsd:sequence>
		<xsd:element name="question" type="xsd:string"/>
		<xsd:element name="choice" type="xsd:string" maxOccurs="7"/>
	</xsd:sequence>
    </xsd:complexType>
	
	<xsd:complexType name="likertType">
	<xsd:sequence>
		<xsd:element name="question" type="xsd:string"/>
		<xsd:element name="choice" type="xsd:string" maxOccurs="7"/>
	</xsd:sequence>
    </xsd:complexType>
	
	<xsd:complexType name="dropdownType">
	<xsd:sequence>
		<xsd:element name="question" type="xsd:string"/>
		<xsd:element name="choice" type="xsd:string" maxOccurs="7"/>
	</xsd:sequence>
    </xsd:complexType>
	
	<xsd:complexType name="textType">
	<xsd:sequence>
		<xsd:element name="question" type="xsd:string"/>
	</xsd:sequence>
    </xsd:complexType>
	
    <xsd:complexType name="edittextType">
	<xsd:sequence>
		<xsd:element name="question" type="xsd:string"/>
		<xsd:element name="prompt" type="xsd:string" minOccurs="0"/>
		<xsd:element name="numlines" type="xsd:integer" minOccurs="1"/>
	</xsd:sequence>
    </xsd:complexType>
	
	<xsd:complexType name="scaleeditType">
	<xsd:sequence>
		<xsd:element name="question" type="xsd:string"/>
		<xsd:element name="value" type="xsd:integer" minOccurs="1"/>
		<xsd:element name="maxValue" type="xsd:integer" minOccurs="1"/>
		<xsd:element name="unit" type="xsd:string" minOccurs="0"/>
	</xsd:sequence>
    </xsd:complexType>
	
</xsd:schema>